package com.unidt.www.module.expert.domain;

import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import com.unidt.www.framework.mybatis.core.dataobject.BaseDO;
import io.swagger.annotations.ApiModelProperty;
import lombok.*;

import java.util.Date;

/**
 * @Author sk
 * @Description: 邀请人员名单
 * @Date 2022/12/15 15:52
 **/
@TableName(value = "t_expert_rule_users", autoResultMap = true) // 由于 SQL Server 的 system_user 是关键字，所以使用 system_users
@Data
@EqualsAndHashCode(callSuper = true)
@Builder
@NoArgsConstructor
@AllArgsConstructor
public class ExpertRuleUserDo extends BaseDO {


    @TableId(type= IdType.AUTO)
    private Long id;

    @ApiModelProperty("邀约ID")
    private Long  invitationId;

    @ApiModelProperty("规则ID")
    private Long ruleId;

    @ApiModelProperty("专家ID")
    private Long expertId;

    @ApiModelProperty(value = "专家新买")
    private String name;

    @ApiModelProperty("单位名称")
    String unitName;

    @ApiModelProperty("擅长领域")
    String areaExpertise;

    @ApiModelProperty("职称")
    String jobTitle;

    @ApiModelProperty("联系电话")
    String  phone;

    @ApiModelProperty("确认状态  -1 拒绝  0 待确认 1 已确认 2 取消 3 名单已满")
    Integer status;

    @ApiModelProperty("短信发送状态 0 未发送 1 已发送")
    Integer sendStatus;

    @ApiModelProperty("邀请码")
    String invitationCode;

    @ApiModelProperty("消息发送时间")
    Date sendTime;

    @ApiModelProperty("专家确认时间")
    Date confirmTime;

    @ApiModelProperty("过期时间")
    Date expirationTime;

    @ApiModelProperty("发送失败原因")
    private String sendResult;

    @ApiModelProperty("取消或者替换原因")
    private  String reason;

    @ApiModelProperty("取消或者替换原因 1 请假 2 其他")
    private Integer cancelType;


    @ApiModelProperty("替换方式 1 自动 2 指定")
    private Integer replaceType;


    @ApiModelProperty("指定替换专家ID ")
    private Long replaceExpertId;

    @ApiModelProperty("是的是替换备选")
    Boolean isReplace;

}
